package com.admin.system.modules.system.service;

import com.admin.common.utils.PageResult;
import com.admin.core.dto.RoleQueryDTO;
import com.admin.core.entity.SysRole;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Set;

/**
 * @author sq-lan
 */
public interface RoleService extends IService<SysRole> {

    /**
     * 分页查询
     *
     * @param dto 条件
     * @return /
     */
    PageResult<SysRole> paging(RoleQueryDTO dto);

    /**
     * 查询
     *
     * @param dto 条件
     * @return /
     */
    List<SysRole> list(RoleQueryDTO dto);

    /**
     * 创建
     *
     * @param entity /
     */
    void add(SysRole entity);

    /**
     * 编辑
     *
     * @param entity /
     */
    void modify(SysRole entity);

    /**
     * 删除
     *
     * @param ids /
     */
    void remove(Set<Integer> ids);

    /**
     * 根据用户ID查询
     *
     * @param userId 用户ID
     * @return /
     */
    List<SysRole> listByUsersId(int userId);

    /**
     * 修改绑定的菜单
     *
     * @param entity /
     */
    void updateMenu(SysRole entity);

}
